﻿/*----------------------------------------------------------------------------------------
*
*  Copyright 2019, Gao Hai Hui, <fromzeropoint@126.com>.  All rights reserved.
*  https://gitee.com/helloworldghh/xoskit.git
*  Use of this source code is governed by a MIT license
*  that can be found in the License file.
*
----------------------------------------------------------------------------------------*/
#ifndef __E30F98F1_4764_490F_8110_90FD5901B764__
#define __E30F98F1_4764_490F_8110_90FD5901B764__

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#if _MSC_VER == 1900
#pragma warning( disable:4091 )
#endif
// 
// winsocket
// 
#include <winsock2.h>
#include <windows.h>
#include <tchar.h>
#include <atlbase.h>
#include <iostream>
#include <sstream>
#include <list>
#include <vector>
#include <map>
#include <ShlObj.h>
#include <shlwapi.h>
#include <cstdio>
#include <cstdlib>
#include <cstdarg>

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

namespace xos
{
    //
    // typedef
    // 
#ifdef XOS_WIN32
    typedef unsigned long long  xos_u64;
    typedef long long           xos_i64;

    typedef unsigned int        xos_u32;
    typedef int                 xos_i32;

    typedef unsigned short      xos_u16;
    typedef short               xos_i16;

    typedef unsigned char       xos_u8;
    typedef char                xos_i8;

    typedef xos_u32				xos_uint;
    typedef xos_i32				xos_int;

#elif defined( XOS_WIN64 )
    typedef unsigned long long  xos_u64;
    typedef long long           xos_i64;

    typedef unsigned int        xos_u32;
    typedef int                 xos_i32;

    typedef unsigned short      xos_u16;
    typedef short               xos_i16;

    typedef unsigned char       xos_u8;
    typedef char                xos_i8;

    typedef xos_u64				xos_uint;
    typedef xos_i64				xos_int;
#endif

} // xos

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef XOS_EXPORT
#define XOS_EXPORT extern "C" __declspec( dllexport )
#endif

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#endif // __E30F98F1_4764_490F_8110_90FD5901B764__
